package Capa_Presentacion;


import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.servlet.http.HttpServletRequest;

import Capa_Datos.CD_Detallegs;

import Capa_Datos.CD_Curso;
import Capa_Datos.CD_Horario;
import Capa_Datos.CD_Persona;
import Capa_Datos.CD_Software;
import Capa_Negocio.CN_ImplSolServicio;
import Capa_Negocio.CN_SolServicio;

public class CP_ConsulSolDoc implements Serializable{

	private static final long serialVersionUID = 1L;
	
private CD_Detallegs detalle=new CD_Detallegs();	
private CD_Detallegs dll=new CD_Detallegs();
private CD_Persona persona;
private List<CD_Detallegs> ListDetalle;
private List<CD_Detallegs> filteredlist;
private CN_SolServicio SolServicio; 
private List<CD_Horario> ListHorario; 
private boolean band=false;

public CP_ConsulSolDoc(){
	inicializar();
	SolServicio=new CN_ImplSolServicio();
	ListDetalle=new ArrayList<CD_Detallegs>();
	filteredlist=new ArrayList<CD_Detallegs>();
	ListHorario=new ArrayList<CD_Horario>();
	ListDetalle=SolServicio.ListaDetalleGS(persona.getIdPersona());
	filteredlist=ListDetalle;
   // band=false;
}


public void inicializar(){
	FacesContext context = FacesContext.getCurrentInstance();
	 persona=new CD_Persona();
	 HttpServletRequest request =(HttpServletRequest) context.getExternalContext().getRequest();
	 persona= (CD_Persona) request.getAttribute("entrada");
	 
	 try {
		context.getExternalContext().redirect( "/ProyLabo/faces/view/ConsulSolDocente.xhtml");
	  } catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}



public List<CD_Horario> getListHorario() {
	return ListHorario;
}


public void setListHorario(List<CD_Horario> listHorario) {
	ListHorario = listHorario;
}


public boolean isBand() {
	return band;
}


public void setBand(boolean band) {
	this.band = band;
}


public void verLista(){
	ListHorario=new ArrayList<CD_Horario>();
	//dll=new CD_Detallegs();
	//dll=detalle;
	ListHorario=SolServicio.ListaHorario(detalle.getGrupo().getCurso(), persona.getIdPersona());
	band=true;
	//detalle=new CD_Detallegs();
	
	if(detalle.getSolicitud().getRespuesta()==null){
		detalle.getSolicitud().setRespuesta("Solicitud aun no respondida");
	}
	
	
}


public void eliminar() throws IOException{
	   FacesContext context = FacesContext.getCurrentInstance();
	   String mensaje="";
	 if(SolServicio.borrarDetalleGS(detalle)==1) {
		 mensaje="Se ha eliminado el registro correctamente";
		 ListDetalle=new ArrayList<CD_Detallegs>();
		 detalle=new CD_Detallegs();
		 ListDetalle=SolServicio.ListaDetalleGS(persona.getIdPersona());
		 filteredlist=ListDetalle;
		 
		 context.getExternalContext().redirect( "/ProyLabo/faces/view/ConsulSolDocente.xhtml");
	 }
     else mensaje="Los datos ingresados son incorrectos";
     
	 context.addMessage(null, new FacesMessage("Mensaje : ", mensaje));
}

public CD_Detallegs getDll() {
	return dll;
}


public void setDll(CD_Detallegs dll) {
	this.dll = dll;
}



public List<CD_Detallegs> getFilteredlist() {
	return filteredlist;
}


public void setFilteredlist(List<CD_Detallegs> filteredlist) {
	this.filteredlist = filteredlist;
}


public CD_Detallegs getDetalle() {
	return detalle;
}


public void setDetalle(CD_Detallegs detalle) {
	this.detalle = detalle;
}


public CD_Persona getPersona() {
	return persona;
}


public void setPersona(CD_Persona persona) {
	this.persona = persona;
}


public List<CD_Detallegs> getListDetalle() {
	return ListDetalle;
}


public void setListDetalle(List<CD_Detallegs> listDetalle) {
	ListDetalle = listDetalle;
}



}
